package com.ruoyi.waterDistribution.mapper;

import com.ruoyi.common.core.domain.business.waterDistribution.WiFarmplanM;
import com.ruoyi.waterDistribution.vo.WiLandBVo;

import java.util.List;

/**
 * 月农户限额水量及计划水量计算Mapper接口
 * 
 * @author ps
 * @date 2023-02-16
 */
public interface WiFarmplanMMapper 
{
    /**
     * 查询月农户限额水量及计划水量计算
     * 
     * @param farmCd 月农户限额水量及计划水量计算主键
     * @return 月农户限额水量及计划水量计算
     */
    public WiFarmplanM selectWiFarmplanMByFarmCd(String farmCd);

    /**
     * 查询月农户限额水量及计划水量计算列表
     * 
     * @param wiFarmplanM 月农户限额水量及计划水量计算
     * @return 月农户限额水量及计划水量计算集合
     */
    public List<WiFarmplanM> selectWiFarmplanMList(WiFarmplanM wiFarmplanM);

    /**
     * 新增月农户限额水量及计划水量计算
     * 
     * @param wiFarmplanM 月农户限额水量及计划水量计算
     * @return 结果
     */
    public int insertWiFarmplanM(WiFarmplanM wiFarmplanM);

    /**
     * 修改月农户限额水量及计划水量计算
     * 
     * @param wiFarmplanM 月农户限额水量及计划水量计算
     * @return 结果
     */
    public int updateWiFarmplanM(WiFarmplanM wiFarmplanM);

    /**
     * 删除月农户限额水量及计划水量计算
     * 
     * @param farmCd 月农户限额水量及计划水量计算主键
     * @return 结果
     */
    public int deleteWiFarmplanMByFarmCdAndPlanYm(String farmCd,String planYm);

    /**
     * 批量删除月农户限额水量及计划水量计算
     * 
     * @param farmCds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWiFarmplanMByFarmCds(String[] farmCds);

    /**
     * 获取农户下地块
     * @param farmCd
     * @return
     */
    List<WiLandBVo> getWiLandBListByFarmCd(String farmCd);

    /**
     * 查询农户计划
     * @param year
     * @param orgCd
     * @return
     */
    List<WiFarmplanM> gteFarmplanMByYearAndFarmCd(String year, String orgCd);

    /**
     * 查询农户所属机构
     * @param farmCd
     * @return
     */
    String selectOrgCdByFarmCd(String farmCd);

    /**
     * 汇总机构下当月用水计划总和
     * @param s
     * @param orgCd
     * @return
     */
    WiFarmplanM farmPlanSumByPlanYm(String s, String orgCd);
}
